#pragma once
#include "ALEstd.h"
#include "ProcessManager.h"

class HumanView : public IGameView
{
public:
	HumanView();
	virtual ~HumanView();

	virtual HRESULT VRestore() override;
	virtual void VUpdate(double deltaSecs) override;
	virtual void VRender() override;
	virtual GameViewId VGetId() const override { return m_viewId; }
	virtual GameViewType VGetType() override { return GameView_Human; }
	virtual void VAttach(GameViewId id, ActorId aid = 0) override { m_viewId = id; m_actorId = aid; }

	virtual void VPushElement(ScreenElementPtr pElement);
	virtual void VPopElement(ScreenElementPtr pElement);

protected:
	GameViewId m_viewId;
	ActorId m_actorId;
	ScreenElementList m_screenElements;
	ProcessManager* m_pProcessManager;
};